#ifndef __GP_CALIBRATION_H__
#define __GP_CALIBRATION_H__

#include "..\gp_LensDef.h"

static const short			g_ob[15] =
{
	0,		// obautoen
	0,		// ob_type
	0,		//obHOffset
	0,		// obVOffset
	1,		// obmanuen
	16,		// maunob
	1,		// wboffseten
	0,		// wbo_r
	0,		// wbo_gr
	0,		// wbo_gb
	0,		// wbo_b
	0,		// badpixen
	120,	// bprthr
	120,	// bpgthr
	120,	// bpbthr
};

static const unsigned int	g_gamma[] =
{
0x04510d, 0x051112, 0x111417, 0x14451b, 0x111120, 0x044425, 0x111129, 0x05112d,
0x044432, 0x044436, 0x04443a, 0x04443e, 0x044442, 0x110446, 0x111149, 0x04444d,
0x111051, 0x044154, 0x111058, 0x10445b, 0x04415e, 0x011062, 0x011065, 0x010468,
0x01046b, 0x01046e, 0x041071, 0x041074, 0x104176, 0x010479, 0x04107c, 0x00417e,
0x041081, 0x010183, 0x101086, 0x040488, 0x01018a, 0x10408d, 0x10108f, 0x041091,
0x040493, 0x040495, 0x040497, 0x040499, 0x10109b, 0x00109d, 0x00409f, 0x0101a0,
0x1004a2, 0x0010a4, 0x0100a6, 0x1004a7, 0x0040a9, 0x1001aa, 0x0040ac, 0x1001ad,
0x0100af, 0x0004b0, 0x0400b2, 0x0040b3, 0x0004b4, 0x0400b6, 0x0100b7, 0x0010b8,
0x0004b9, 0x1000bb, 0x0400bc, 0x0100bd, 0x0040be, 0x0010bf, 0x0004c0, 0x0004c1,
0x0001c2, 0x0001c3, 0x0000c5, 0x0000c6, 0x0000c7, 0x0000c8, 0x0000c9, 0x0000ca,
0x0000cb, 0x0000cc, 0x0000cd, 0x0000ce, 0x0000cf, 0x0000d0, 0x0001d0, 0x0001d1,
0x0001d2, 0x0001d3, 0x0001d4, 0x0001d5, 0x0001d6, 0x0001d7, 0x0001d8, 0x0001d9,
0x0000db, 0x0000dc, 0x1000dd, 0x0400de, 0x0400df, 0x0100e0, 0x0040e1, 0x0010e2,
0x0004e3, 0x1000e5, 0x0100e6, 0x0040e7, 0x0004e8, 0x1000ea, 0x0100eb, 0x0004ec,
0x0400ee, 0x0040ef, 0x1001f0, 0x0040f2, 0x1004f3, 0x0040f5, 0x0401f6, 0x0010f8,
0x0100fa, 0x0404fb, 0x1010fd, 0x0000ff, 0x0000ff, 0x0000ff, 0x0000ff, 0x0000ff
};


static const unsigned int g_gamma2[] =
{
// 1248 with H22
0x04510d, 0x051112, 0x111417, 0x14451b, 0x111120, 0x044425, 0x111129, 0x05112d,
0x044432, 0x044436, 0x04443a, 0x04443e, 0x044442, 0x110446, 0x111149, 0x04444d,
0x111051, 0x044154, 0x111058, 0x10445b, 0x04415e, 0x011062, 0x011065, 0x010468,
0x01046b, 0x01046e, 0x041071, 0x041074, 0x104176, 0x010479, 0x04107c, 0x00417e,
0x041081, 0x010183, 0x101086, 0x040488, 0x01018a, 0x10408d, 0x10108f, 0x041091,
0x040493, 0x040495, 0x040497, 0x040499, 0x10109b, 0x00109d, 0x00409f, 0x0101a0,
0x1004a2, 0x0010a4, 0x0100a6, 0x1004a7, 0x0040a9, 0x1001aa, 0x0040ac, 0x1001ad,
0x0100af, 0x0004b0, 0x0400b2, 0x0040b3, 0x0004b4, 0x0400b6, 0x0100b7, 0x0010b8,
0x0004b9, 0x1000bb, 0x0400bc, 0x0100bd, 0x0040be, 0x0010bf, 0x0004c0, 0x0004c1,
0x0001c2, 0x0001c3, 0x0000c5, 0x0000c6, 0x0000c7, 0x0000c8, 0x0000c9, 0x0000ca,
0x0000cb, 0x0000cc, 0x0000cd, 0x0000ce, 0x0000cf, 0x0000d0, 0x0001d0, 0x0001d1,
0x0001d2, 0x0001d3, 0x0001d4, 0x0001d5, 0x0001d6, 0x0001d7, 0x0001d8, 0x0001d9,
0x0000db, 0x0000dc, 0x1000dd, 0x0400de, 0x0400df, 0x0100e0, 0x0040e1, 0x0010e2,
0x0004e3, 0x1000e5, 0x0100e6, 0x0040e7, 0x0004e8, 0x1000ea, 0x0100eb, 0x0004ec,
0x0400ee, 0x0040ef, 0x1001f0, 0x0040f2, 0x1004f3, 0x0040f5, 0x0401f6, 0x0010f8,
0x0100fa, 0x0404fb, 0x1010fd, 0x0000ff, 0x0000ff, 0x0000ff, 0x0000ff, 0x0000ff
};


static const unsigned short g_wb_gain[61][2] =
{			/*2000K~8000K*/
	/*{50, 169}, */
	{ 47, 154 },

	//2k	//u2.2016.01.05
	/*{52, 166}, */
	{ 49, 152 },

	/*{55, 164}, */
	{ 52, 151 },

	/*{57, 162}, */
	{ 54, 149 },

	/*{59, 159}, */
	{ 56, 148 },

	/*{62, 157}, */
	{ 59, 146 },

	/*{64, 155}, */
	{ 61, 145 },

	/*{66, 153}, */
	{ 63, 143 },

	/*{69, 150}, */
	{ 65, 142 },

	/*{71, 148}, */
	{ 67, 140 },

	/*{73, 146}, */
	{ 69, 139 },

	//3k
	/*{75, 144}, */
	{ 71, 137 },

	/*{77, 142}, */
	{ 73, 136 },

	/*{79, 140}, */
	{ 75, 135 },

	/*{82, 138}, */
	{ 77, 133 },

	/*{84, 136}, */
	{ 79, 132 },

	/*{86, 134}, */
	{ 81, 130 },

	/*{88, 132}, */
	{ 83, 129 },

	/*{90, 130}, */
	{ 85, 128 },

	/*{91, 128}, */
	{ 86, 126 },

	/*{93, 127}, */
	{ 88, 125 },

	//4k
	/*{95, 125}, */
	{ 90, 123 },

	/*{97, 123}, */
	{ 91, 122 },

	/*{99, 121}, */
	{ 93, 121 },

	/*{101, 120},*/
	{ 94, 119 },

	/*{103, 118},*/
	{ 96, 118 },

	/*{104, 116},*/
	{ 97, 117 },

	/*{106, 115},*/
	{ 99, 115 },

	/*{108, 113},*/
	{ 100, 114 },

	/*{109, 112},*/
	{ 101, 113 },

	/*{111, 110},*/
	{ 102, 112 },

	//5k
	/*{113, 109},*/
	{ 104, 110 },

	/*{114, 107},*/
	{ 105, 109 },

	/*{116, 106},*/
	{ 106, 108 },

	/*{117, 104},*/
	{ 107, 106 },

	/*{119, 103},*/
	{ 108, 105 },

	/*{120, 102},*/
	{ 109, 104 },

	/*{122, 100},*/
	{ 110, 103 },

	/*{123, 99}, */
	{ 111, 101 },

	/*{125, 98}, */
	{ 112, 100 },

	/*{126, 97}, */
	{ 113, 99 },

	//6k
	/*{128, 96}, */
	{ 114, 98 },

	/*{129, 94}, */
	{ 115, 97 },

	/*{130, 93}, */
	{ 115, 95 },

	/*{132, 92}, */
	{ 116, 94 },

	/*{133, 91}, */
	{ 117, 93 },

	/*{134, 90}, */
	{ 117, 92 },

	/*{136, 89}, */
	{ 118, 91 },

	/*{137, 88}, */
	{ 118, 90 },

	/*{138, 87}, */
	{ 119, 88 },

	/*{139, 86}, */
	{ 119, 87 },

	//7k
	/*{141, 86}, */
	{ 120, 86 },

	/*{142, 85}, */
	{ 120, 85 },

	/*{143, 84}, */
	{ 121, 84 },

	/*{144, 83}, */
	{ 121, 83 },

	/*{145, 82}, */
	{ 121, 82 },

	/*{146, 82}, */
	{ 121, 81 },

	/*{147, 81}, */
	{ 121, 80 },

	/*{149, 80}, */
	{ 122, 78 },

	/*{150, 80}, */
	{ 122, 77 },

	/*{151, 79}  */
	{ 122, 76 },

	//8k
};

static const short g_awb_thr[] =
{
	200,	// awbwinthr
	0 * 64, // sindata
	1 * 64, // cosdata
	30,		// Ythr0
	90,		// Ythr1
	140,	// Ythr2
	200,	// Ythr3

	// wb thr
	-3,		// UL1N1
	3,		// UL1P1
	-3,		// VL1N1
	3,		// VL1P1
	-4,		//UL1N2
	4,		//UL1P2
	-4,		//VL1N2
	4,		// VL1P2
	-5,		// UL1N3
	5,		//UL1P3
	-5,		// VL1N3
	5,		//VL1P3

	// without wb thr
	-27,	// UL1N1
	-7,		// UL1P1
	-24,	// VL1N1
	2,		// VL1P1
	-47,	//UL1N2
	-7,		//UL1P2
	-44,	//VL1N2
	2,		// VL1P2
	-70,	// UL1N3
	-7,		//UL1P3
	-59,	// VL1N3
	2,		//VL1P3

	//initial r/b gain
	117, //r gain
	93,  //b gain

	//GdivB& GdivR
	0,			//awb_win.gdbthr1
	16383,		//awb_win.gdbthr2
	0,			//awb_win.gdrthr1
	16383		//awb_win.gdrthr2
};

static const short			g_color_matrix[9] =
{
	/*	//comi
	(short) ((1.50648861385094610000 *64) + 0.5),
	(short) ((-0.61933106247869152000 *64) + 0.5),
	(short) ((0.11284244862774534000 *64) + 0.5),
	(short) ((-0.15933838732402536000 *64) + 0.5),
	(short) ((1.39186869115112090000 *64) + 0.5),
	(short) ((-0.23253030382709550000  *64) + 0.5),
	(short) ((0.02618876598136074900  *64) + 0.5),
	(short) ((-0.93949142923292706000 *64) + 0.5),
	(short) ((1.91330266325156640000 *64) + 0.5)
	*/
	//u2.2016.01.05
	(short) ((1.47621034337316100000 * 64) + 0.5),
	(short) ((-0.50284584256374931000 * 64) + 0.5),
	(short) ((0.02663549919058819800 * 64) + 0.5),
	(short) ((-0.15069646335721187000 * 64) + 0.5),
	(short) ((1.36981925910187160000 * 64) + 0.5),
	(short) ((-0.21912279574465979000 * 64) + 0.5),
	(short) ((-0.02361537630939113100 * 64) + 0.5),
	(short) ((-0.92897062676674558000 * 64) + 0.5),
	(short) ((1.95258600307613680000 * 64) + 0.5)
};

const INT8U					LiTable_rgb[48] =
{			//R*16,Gb/Gr*16,B*16
	0x1e, 0x2e, 0x3e, 0x4e, 0x5e, 0x6e, 0x7e, 0x8e, 0x9e, 0xae, 0xbe, 0xce, 0xde, 
	0xee, 0xfe, 0xff, 0x0f, 0x1f, 0x2f, 0x3f, 0x4f, 0x5f, 0x6f, 0x7f, 0x8f, 0x9f, 
	0xaf, 0xbf, 0xcf, 0xdf, 0xef, 0xff, 0x07, 0x17, 0x27, 0x37, 0x47, 0x57, 0x67, 
	0x77, 0x87, 0x97, 0xa7, 0xb7, 0xc7, 0xd7, 0xe7, 0xf7
};

const INT16U				MaxTan8[32] =
{
	0x0C0, 0x155, 0x154, 0x0C1, 0x0BF, 0x156, 0x153, 0x0C2, 0x0BF, 0x154, 0x153, 
	0x0C0, 0x0BE, 0x155, 0x152, 0x0C1, 0x0BE, 0x153, 0x152, 0x0BF, 0x0BD, 0x154, 
	0x151, 0x0C0, 0x0BD, 0x152, 0x151, 0x0BE, 0x0BC, 0x153, 0x150, 0x0BF
};

const INT16U				Slope4[16] = { 0x155, 0x154, 0x153, 0x152, 0x151, 0x152, 0x153, 0x154, 0x155, 0x154, 0x153, 0x152, 0x151, 0x152, 0x153, 0x154 };

const INT16U				CLPoint[8] =	//Sensor Center is Weight/2, Hight/2 for RGB
{
	0x400, 0x300, 0x400, 0x300, 0x400, 0x300, 0x400, 0x300
};

const INT16U				Radius_File_0[512] =
{
	0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x102, 0x103, 0x104, 
	0x105, 0x106, 0x107, 0x108, 0x109, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 
	0x10a, 0x10b, 0x106, 0x107, 0x108, 0x109, 0x10a, 0x10b, 0x10c, 0x10d, 0x108, 
	0x109, 0x10a, 0x10b, 0x10c, 0x10d, 0x10e, 0x10f, 0x10a, 0x10b, 0x10c, 0x10d, 
	0x10e, 0x10f, 0x110, 0x111, 0x10c, 0x10d, 0x10e, 0x10f, 0x110, 0x111, 0x112, 
	0x113, 0x10e, 0x10f, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x110, 0x111, 
	0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x112, 0x113, 0x114, 0x115, 0x116, 
	0x117, 0x118, 0x119, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11a, 0x11b, 
	0x116, 0x117, 0x118, 0x119, 0x11a, 0x11b, 0x11c, 0x11d, 0x118, 0x119, 0x11a, 
	0x11b, 0x11c, 0x11d, 0x11e, 0x11f, 0x11a, 0x11b, 0x11c, 0x11d, 0x11e, 0x11f, 
	0x120, 0x121, 0x11c, 0x11d, 0x11e, 0x11f, 0x120, 0x121, 0x122, 0x123, 0x11e, 
	0x11f, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x102, 0x103, 0x104, 0x105, 
	0x106, 0x107, 0x108, 0x109, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10a, 
	0x10b, 0x106, 0x107, 0x108, 0x109, 0x10a, 0x10b, 0x10c, 0x10d, 0x108, 0x109, 
	0x10a, 0x10b, 0x10c, 0x10d, 0x10e, 0x10f, 0x10a, 0x10b, 0x10c, 0x10d, 0x10e, 
	0x10f, 0x110, 0x111, 0x10c, 0x10d, 0x10e, 0x10f, 0x110, 0x111, 0x112, 0x113, 
	0x10e, 0x10f, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x110, 0x111, 0x112, 
	0x113, 0x114, 0x115, 0x116, 0x117, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 
	0x118, 0x119, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11a, 0x11b, 0x116, 
	0x117, 0x118, 0x119, 0x11a, 0x11b, 0x11c, 0x11d, 0x118, 0x119, 0x11a, 0x11b, 
	0x11c, 0x11d, 0x11e, 0x11f, 0x11a, 0x11b, 0x11c, 0x11d, 0x11e, 0x11f, 0x120, 
	0x121, 0x11c, 0x11d, 0x11e, 0x11f, 0x120, 0x121, 0x122, 0x123, 0x11e, 0x11f, 
	0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x120, 0x121, 0x122, 0x123, 0x124, 
	0x125, 0x126, 0x127, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10a, 0x10b, 
	0x106, 0x107, 0x108, 0x109, 0x10a, 0x10b, 0x10c, 0x10d, 0x108, 0x109, 0x10a, 
	0x10b, 0x10c, 0x10d, 0x10e, 0x10f, 0x10a, 0x10b, 0x10c, 0x10d, 0x10e, 0x10f, 
	0x110, 0x111, 0x10c, 0x10d, 0x10e, 0x10f, 0x110, 0x111, 0x112, 0x113, 0x10e, 
	0x10f, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x110, 0x111, 0x112, 0x113, 
	0x114, 0x115, 0x116, 0x117, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 
	0x119, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11a, 0x11b, 0x116, 0x117, 
	0x118, 0x119, 0x11a, 0x11b, 0x11c, 0x11d, 0x118, 0x119, 0x11a, 0x11b, 0x11c, 
	0x11d, 0x11e, 0x11f, 0x11a, 0x11b, 0x11c, 0x11d, 0x11e, 0x11f, 0x120, 0x121, 
	0x11c, 0x11d, 0x11e, 0x11f, 0x120, 0x121, 0x122, 0x123, 0x11e, 0x11f, 0x120, 
	0x121, 0x122, 0x123, 0x124, 0x125, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 
	0x126, 0x127, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x106, 
	0x107, 0x108, 0x109, 0x10a, 0x10b, 0x10c, 0x10d, 0x108, 0x109, 0x10a, 0x10b, 
	0x10c, 0x10d, 0x10e, 0x10f, 0x10a, 0x10b, 0x10c, 0x10d, 0x10e, 0x10f, 0x110, 
	0x111, 0x10c, 0x10d, 0x10e, 0x10f, 0x110, 0x111, 0x112, 0x113, 0x10e, 0x10f, 
	0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x110, 0x111, 0x112, 0x113, 0x114, 
	0x115, 0x116, 0x117, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 
	0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11a, 0x11b, 0x116, 0x117, 0x118, 
	0x119, 0x11a, 0x11b, 0x11c, 0x11d, 0x118, 0x119, 0x11a, 0x11b, 0x11c, 0x11d, 
	0x11e, 0x11f, 0x11a, 0x11b, 0x11c, 0x11d, 0x11e, 0x11f, 0x120, 0x121, 0x11c, 
	0x11d, 0x11e, 0x11f, 0x120, 0x121, 0x122, 0x123, 0x11e, 0x11f, 0x120, 0x121, 
	0x122, 0x123, 0x124, 0x125, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 
	0x127, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x124, 0x125, 
	0x126, 0x127, 0x128, 0x129, 0x12a, 0x12b
};

const INT16U				Radius_File_1[512] =
{
	0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x103, 0x104, 0x105, 
	0x106, 0x107, 0x108, 0x109, 0x10a, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10a, 
	0x10b, 0x10c, 0x107, 0x108, 0x109, 0x10a, 0x10b, 0x10c, 0x10d, 0x10e, 0x109, 
	0x10a, 0x10b, 0x10c, 0x10d, 0x10e, 0x10f, 0x110, 0x10b, 0x10c, 0x10d, 0x10e, 
	0x10f, 0x110, 0x111, 0x112, 0x10d, 0x10e, 0x10f, 0x110, 0x111, 0x112, 0x113, 
	0x114, 0x10f, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x111, 0x112, 
	0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x113, 0x114, 0x115, 0x116, 0x117, 
	0x118, 0x119, 0x11a, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11a, 0x11b, 0x11c, 
	0x117, 0x118, 0x119, 0x11a, 0x11b, 0x11c, 0x11d, 0x11e, 0x119, 0x11a, 0x11b, 
	0x11c, 0x11d, 0x11e, 0x11f, 0x120, 0x11b, 0x11c, 0x11d, 0x11e, 0x11f, 0x120, 
	0x121, 0x122, 0x11d, 0x11e, 0x11f, 0x120, 0x121, 0x122, 0x123, 0x124, 0x11f, 
	0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x103, 0x104, 0x105, 0x106, 
	0x107, 0x108, 0x109, 0x10a, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10a, 0x10b, 
	0x10c, 0x107, 0x108, 0x109, 0x10a, 0x10b, 0x10c, 0x10d, 0x10e, 0x109, 0x10a, 
	0x10b, 0x10c, 0x10d, 0x10e, 0x10f, 0x110, 0x10b, 0x10c, 0x10d, 0x10e, 0x10f, 
	0x110, 0x111, 0x112, 0x10d, 0x10e, 0x10f, 0x110, 0x111, 0x112, 0x113, 0x114, 
	0x10f, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x111, 0x112, 0x113, 
	0x114, 0x115, 0x116, 0x117, 0x118, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 
	0x119, 0x11a, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11a, 0x11b, 0x11c, 0x117, 
	0x118, 0x119, 0x11a, 0x11b, 0x11c, 0x11d, 0x11e, 0x119, 0x11a, 0x11b, 0x11c, 
	0x11d, 0x11e, 0x11f, 0x120, 0x11b, 0x11c, 0x11d, 0x11e, 0x11f, 0x120, 0x121, 
	0x122, 0x11d, 0x11e, 0x11f, 0x120, 0x121, 0x122, 0x123, 0x124, 0x11f, 0x120, 
	0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x121, 0x122, 0x123, 0x124, 0x125, 
	0x126, 0x127, 0x128, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10a, 0x10b, 0x10c, 
	0x107, 0x108, 0x109, 0x10a, 0x10b, 0x10c, 0x10d, 0x10e, 0x109, 0x10a, 0x10b, 
	0x10c, 0x10d, 0x10e, 0x10f, 0x110, 0x10b, 0x10c, 0x10d, 0x10e, 0x10f, 0x110, 
	0x111, 0x112, 0x10d, 0x10e, 0x10f, 0x110, 0x111, 0x112, 0x113, 0x114, 0x10f, 
	0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x111, 0x112, 0x113, 0x114, 
	0x115, 0x116, 0x117, 0x118, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 
	0x11a, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11a, 0x11b, 0x11c, 0x117, 0x118, 
	0x119, 0x11a, 0x11b, 0x11c, 0x11d, 0x11e, 0x119, 0x11a, 0x11b, 0x11c, 0x11d, 
	0x11e, 0x11f, 0x120, 0x11b, 0x11c, 0x11d, 0x11e, 0x11f, 0x120, 0x121, 0x122, 
	0x11d, 0x11e, 0x11f, 0x120, 0x121, 0x122, 0x123, 0x124, 0x11f, 0x120, 0x121, 
	0x122, 0x123, 0x124, 0x125, 0x126, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 
	0x127, 0x128, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12a, 0x107, 
	0x108, 0x109, 0x10a, 0x10b, 0x10c, 0x10d, 0x10e, 0x109, 0x10a, 0x10b, 0x10c, 
	0x10d, 0x10e, 0x10f, 0x110, 0x10b, 0x10c, 0x10d, 0x10e, 0x10f, 0x110, 0x111, 
	0x112, 0x10d, 0x10e, 0x10f, 0x110, 0x111, 0x112, 0x113, 0x114, 0x10f, 0x110, 
	0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x111, 0x112, 0x113, 0x114, 0x115, 
	0x116, 0x117, 0x118, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11a, 
	0x115, 0x116, 0x117, 0x118, 0x119, 0x11a, 0x11b, 0x11c, 0x117, 0x118, 0x119, 
	0x11a, 0x11b, 0x11c, 0x11d, 0x11e, 0x119, 0x11a, 0x11b, 0x11c, 0x11d, 0x11e, 
	0x11f, 0x120, 0x11b, 0x11c, 0x11d, 0x11e, 0x11f, 0x120, 0x121, 0x122, 0x11d, 
	0x11e, 0x11f, 0x120, 0x121, 0x122, 0x123, 0x124, 0x11f, 0x120, 0x121, 0x122, 
	0x123, 0x124, 0x125, 0x126, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 
	0x128, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12a, 0x125, 0x126, 
	0x127, 0x128, 0x129, 0x12a, 0x12b, 0x12c
};


INT16S g_awb_new_thr[13*5] =
{

// global
30,
200,
140,
190,
-20,
85,
60,  // 7
130, // 8
45,
90,
35,
58,
3,


// 2800
40 ,
190,
169,
185,
66 ,
81 ,
121,
130,
47 ,
 54,
 44,
 55,
 3,


// 4000
40 ,
190,
151,
164,
29 ,
44 ,
93 ,
100,
56 ,
 63,
 41,
 50,
 2,


// 5000
40 ,
190,
147,
161,
2  ,
15 ,
77 ,
84 ,
68 ,
 75,
 41,
 50,
  2,

// 6500
40 ,
190,
143,
160,
-18,
-6 ,
60 ,
72 ,
77 ,
 90,
 38,
 48,
 2,
};

const ALIGN4 INT32U g_Y_lut[64] =
{
 0x02010100, 0x04040302, 0x07060505, 0x09090807, 0x0c0b0b0a, 0x0f0e0d0d, 0x12111010, 0x15151413,
 0x19181716, 0x1d1c1b1a, 0x21201f1e, 0x26252422, 0x2b2a2827, 0x302f2e2c, 0x36343332, 0x3b3a3837,
 0x41403e3d, 0x47464443, 0x4d4c4a49, 0x5352504f, 0x5a585655, 0x605e5d5b, 0x66656361, 0x6c6b6968,
 0x7371706e, 0x79777674, 0x7f7d7c7a, 0x85838280, 0x8b898886, 0x908f8d8c, 0x96949392, 0x9b999897,
 0xa09e9d9c, 0xa5a3a2a1, 0xa9a8a7a6, 0xaeadabaa, 0xb2b1b0af, 0xb6b5b4b3, 0xbab9b8b7, 0xbebdbcbb,
 0xc2c1c0bf, 0xc5c4c4c3, 0xc9c8c7c6, 0xcccbcbca, 0xcfcfcecd, 0xd3d2d1d0, 0xd6d5d4d3, 0xd9d8d7d6,
 0xdbdbdad9, 0xdedddddc, 0xe1e0e0df, 0xe3e3e2e1, 0xe6e5e5e4, 0xe8e8e7e7, 0xebeaeae9, 0xededeceb,
 0xf0efeeee, 0xf2f1f1f0, 0xf4f4f3f2, 0xf6f6f5f5, 0xf8f8f7f7, 0xfbfafaf9, 0xfdfcfcfb, 0xfffefefd,
};


const ALIGN4 INT32U g_Y_lut2[64] =
{
 0x02010100, 0x04030302, 0x07060605, 0x09080807, 0x0c0b0a0a, 0x0f0e0d0d, 0x1110100f, 0x14131312,
 0x18171615, 0x1a191918, 0x1d1d1c1b, 0x201f1f1e, 0x24232221, 0x27272625, 0x2b2a2928, 0x2f2e2d2c,
 0x33323130, 0x37363534, 0x3b3a3938, 0x403f3d3c, 0x44434241, 0x49474645, 0x4e4c4b4a, 0x5351504f,
 0x57565554, 0x5c5b5a58, 0x61605e5d, 0x66646362, 0x6b6a6867, 0x6f6e6d6c, 0x74737271, 0x78777675,
 0x7e7c7b7a, 0x8281807f, 0x87858483, 0x8b8a8988, 0x908f8e8c, 0x94939291, 0x98979695, 0x9d9b9a99,
 0xa1a09f9e, 0xa5a4a3a2, 0xa9a8a7a6, 0xadacabaa, 0xb2b0afae, 0xb5b4b3b3, 0xbab9b8b7, 0xbdbcbcbb,
 0xc1c0bfbe, 0xc6c5c4c2, 0xc9c8c7c7, 0xcdcccbca, 0xd1d0cfce, 0xd5d4d3d2, 0xd9d8d7d6, 0xdddcdbda,
 0xe1e0dfde, 0xe6e5e3e2, 0xeae9e8e7, 0xeeedeceb, 0xf2f1f0ef, 0xf6f5f4f3, 0xfbf9f8f7, 0xfffefdfc,
};


const ALIGN4 INT32U g_Y_identity[64] =
{
 0x03020100, 0x07060504, 0x0b0a0908, 0x0f0e0d0c, 0x13121110, 0x17161514, 0x1b1a1918, 0x1f1e1d1c,
 0x23222120, 0x27262524, 0x2b2a2928, 0x2f2e2d2c, 0x33323130, 0x37363534, 0x3b3a3938, 0x3f3e3d3c,
 0x43424140, 0x47464544, 0x4b4a4948, 0x4f4e4d4c, 0x53525150, 0x57565554, 0x5b5a5958, 0x5f5e5d5c,
 0x63626160, 0x67666564, 0x6b6a6968, 0x6f6e6d6c, 0x73727170, 0x77767574, 0x7b7a7978, 0x7f7e7d7c,
 0x83828180, 0x87868584, 0x8b8a8988, 0x8f8e8d8c, 0x93929190, 0x97969594, 0x9b9a9998, 0x9f9e9d9c,
 0xa3a2a1a0, 0xa7a6a5a4, 0xabaaa9a8, 0xafaeadac, 0xb3b2b1b0, 0xb7b6b5b4, 0xbbbab9b8, 0xbfbebdbc,
 0xc3c2c1c0, 0xc7c6c5c4, 0xcbcac9c8, 0xcfcecdcc, 0xd3d2d1d0, 0xd7d6d5d4, 0xdbdad9d8, 0xdfdedddc,
 0xe3e2e1e0, 0xe7e6e5e4, 0xebeae9e8, 0xefeeedec, 0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc,
};


const ALIGN4 INT16U NRthr[6][7] =
{
    {1, 2, 3, 1, 2, 3, 4},
    {1, 2, 3, 3, 6, 9, 12},
    {1, 2, 3, 4, 7, 10, 14},
    {1, 2, 3, 4, 8, 12, 16},
    {1, 2, 3, 4, 8, 16, 32},
    {1, 2, 3, 5, 10, 20, 32}
};

const ALIGN4 INT16U DPCthr[6][4] =
{
    {0, 20, 35, 4},
    {0, 22, 30, 4},
    {0, 24, 28, 4},
    {0, 26, 25, 4},
    {0, 28, 23, 4},
    {0, 30, 20, 4}

};

const gpCisCali_t g_cali =
{
	(INT16U *) g_ob,
	(INT16U *) Radius_File_0,
	(INT16U *) Radius_File_1,
	(INT16U *) CLPoint,
	(INT16U *) MaxTan8,
	(INT16U *) Slope4,
	20,			/*0x194[4:0]*/
	(INT32U *) g_gamma,
	(INT32U *) g_gamma2,
	(INT16S *) g_awb_thr,
	//(INT16U(*)[2]) g_wb_gain,
	(INT16S *) g_color_matrix,
	(INT16S *) g_awb_new_thr,
	sizeof(g_awb_new_thr)/2/13,

	0,			/*Ae weight*/

	/*YUV Spec Constrat*/
	(INT32U *) g_Y_lut,
	(INT32U *) g_Y_lut2,

	(INT16U (*)[7]) NRthr,
	(INT16U (*)[4]) DPCthr,
};

#endif
